package com.iflytek.cosmo.ocr.common.json;

import java.util.Map;

/**
 * Jackon处理JSON运行时异常定义
 * 
 * @author ljhan2
 */
public class JacksonHandleJsonRuntimeException extends RuntimeException {

    /**
     * <code>serialVersionUID</code>默认序列化UID
     */
    private static final long serialVersionUID = 1L;

    /**
     * <code>statusCode</code>异常状态码
     */
    private Integer statusCode;

    /**
     * <code>attachAttrMap</code>附加属性Map集合
     */
    private Map<String, Object> attachAttrMap;

    /**
     * 构造方法
     * 
     * @author ljhan2
     * @version
     * @since JDK 1.7
     */
    public JacksonHandleJsonRuntimeException() {
        super();
    }

    /**
     * 构造方法
     * 
     * @author ljhan2
     */
    public JacksonHandleJsonRuntimeException(String message, Throwable cause, boolean enableSuppression,
            boolean writableStackTrace) {
        super(message, cause, enableSuppression, writableStackTrace);
    }

    /**
     * 构造方法
     * 
     * @author ljhan2
     */
    public JacksonHandleJsonRuntimeException(String message, Throwable cause) {
        super(message, cause);
    }

    /**
     * 构造方法
     * 
     * @author ljhan2
     */
    public JacksonHandleJsonRuntimeException(String message, Throwable cause, Integer statusCode) {
        super(message, cause);
        this.statusCode = statusCode;
    }

    /**
     * 构造方法
     * 
     * @author ljhan2
     */
    public JacksonHandleJsonRuntimeException(String message) {
        super(message);
    }

    /**
     * 构造方法
     * 
     * @author ljhan2
     */
    public JacksonHandleJsonRuntimeException(String message, Integer statusCode) {
        super(message);
        this.statusCode = statusCode;
    }

    /**
     * 构造方法
     * 
     * @author ljhan2
     */
    public JacksonHandleJsonRuntimeException(Throwable cause) {
        super(cause);
    }

    /**
     * 构造方法
     * 
     * @author ljhan2
     */
    public JacksonHandleJsonRuntimeException(Throwable cause, Integer statusCode) {
        super(cause);
        this.statusCode = statusCode;
    }

    public Integer getStatusCode() {
        return statusCode;
    }

    public void setStatusCode(Integer statusCode) {
        this.statusCode = statusCode;
    }

    public Map<String, Object> getAttachAttrMap() {
        return attachAttrMap;
    }

    public void setAttachAttrMap(Map<String, Object> attachAttrMap) {
        this.attachAttrMap = attachAttrMap;
    }

}
